package com.tbit.uqbike.client.dao.capital;

import com.tbit.uqbike.client.pojo.newEntity.AdaPayLog;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @Author: chen
 * @Description: 分账订单记录
 * @Date: 创建于 10:20 2021/9/26
 */
public interface AdaPayLogDao {

    /**
     * 新增
     *
     * @param adaPayLog
     */
    void add(AdaPayLog adaPayLog);

    /**
     * 通过订单编号获取
     *
     * @param orderNO
     * @return
     */
    AdaPayLog getByOrderNO(String orderNO);

    /**
     * 通过第三方订单号查询
     *
     * @param adaPayId
     * @return
     */
    AdaPayLog getByAdaPayId(String adaPayId);

    /**
     * 修改已支付
     *
     * @param adaPayLog
     */
    void edit(AdaPayLog adaPayLog);

    /**
     * 修改为延时分账订单
     *
     * @param adaPayLog
     */
    void editDelay(AdaPayLog adaPayLog);

    /**
     * 支付退款订单修改
     *
     * @param adaPayLog
     */
    void editRefund(AdaPayLog adaPayLog);

    /**
     * 获取用户所有未分账订单
     *
     * @param map
     * @return
     */
    List<AdaPayLog> getByUserId(Map<String, Object> map);

    /**
     * 通过支付订单号查询
     *
     * @param adaPayId
     * @return
     */
    AdaPayLog getByConfirmId(@Param("adaPayId") String adaPayId);

    /**
     * 通过支付确认对象id 查询 支付平台订单号
     * @param confirmId 通过支付确认对象id
     * @return 支付平台订单号
     */
    String getPaymentIdByConfirmId(@Param("confirmId") String confirmId);
}
